package com.zcxx.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @Author WangShuai
 * @Date 2025/2/28 18:35
 * @Version 1.0
 * @Description $
 */
@Configuration
public class WebConfig implements WebMvcConfigurer {
    /**
     * 注入静态资源位置配置
     * 该字段用于存储应用配置中指定的静态资源所在路径
     * 主要用于资源管理、静态文件服务等场景
     */
    @Value("${spring.web.resources.static-locations}")
    private String[] staticLocations;
    /**
     * 配置资源处理器，用于处理特定路径的请求
     *
     * @param registry 资源处理器注册表，用于注册资源处理器
     */

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 配置静态资源处理器，处理 "/images/**" 路径下的请求
        // 这里将请求路径映射到本地文件系统路径 "file:D:\\javaee_class\\src\\main\\resources\\static\\images\\"
        // 这样做可以使得应用能够直接从文件系统提供静态资源，提高效率
        registry.addResourceHandler("/images/**")
                .addResourceLocations(staticLocations);
    }
}